package com.chengh.nami.common.enums.system;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;

/**
 * 业务操作类型
 *
 * @author chengh
 */
@Getter
@AllArgsConstructor
public enum BusinessType {
    /**
     * 其它
     */
    OTHER("0", "其他"),

    /**
     * 新增
     */
    INSERT("1", "新增"),

    /**
     * 修改
     */
    UPDATE("2", "修改"),

    /**
     * 删除
     */
    DELETE("3", "删除"),

    SELECT("4", "查询"),

    /**
     * 授权
     */
    GRANT("5", "授权"),

    /**
     * 导出
     */
    EXPORT("6", "导出"),

    /**
     * 导入
     */
    IMPORT("7", "导入"),

    /**
     * 强退
     */
    FORCE("8", "强退"),

    /**
     * 清空数据
     */
    CLEAN("9", "清空数据");

    private final String code;

    private final String info;

    /**
     * 根据code返回info
     *
     * @param code 编码
     * @return info
     */
    public static String getInfoByCode(String code) {
        return Arrays.stream(BusinessType.values()).filter(s -> s.getCode().equals(code)).map(BusinessType::getInfo).findFirst().orElse("未知错误");
    }
}
